{
 "cells": [
  {
   "cell_type": "markdown",
   "id": "046bf5b0",
   "metadata": {},
   "source": [
    "# 频率响应\n",
    "\n",
    "以数字滤波器的频率响应为例。"
   ]
  },
  {
   "cell_type": "code",
   "execution_count": 1,
   "id": "d5582031",
   "metadata": {},
   "outputs": [
    {
     "data": {
      "image/png": "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\n",
      "text/plain": [
       "<Figure size 432x288 with 2 Axes>"
      ]
     },
     "metadata": {
      "needs_background": "light"
     },
     "output_type": "display_data"
    }
   ],
   "source": [
    "import matplotlib.pyplot as plt\n",
    "import numpy as np\n",
    "from scipy import signal\n",
    "b = signal.firwin(80, 0.5, window=('kaiser', 8))#b是线性滤波器的分子\n",
    "w, h = signal.freqz(b)#w：ndarray计算h的频率，h：ndarray频率响应\n",
    "\n",
    "fig, ax1 = plt.subplots()\n",
    "ax1.set_title('数字滤波器频率响应')#设置标题\n",
    "ax1.plot(w, 20 * np.log10(abs(h)), 'b')#将返回参数w和h返还给图，绘制频率响应freqz\n",
    "ax1.set_ylabel('Amplitude [dB]', color='b')#纵轴\n",
    "ax1.set_xlabel('Frequency [rad/sample]')#横轴\n",
    "\n",
    "ax2 = ax1.twinx()\n",
    "angles = np.unwrap(np.angle(h))\n",
    "ax2.plot(w, angles, 'g')\n",
    "ax2.set_ylabel('Angle (radians)', color='g')\n",
    "ax2.grid()\n",
    "ax2.axis('tight')\n",
    "\n",
    "plt.rcParams['font.sans-serif']=['SimHei'] #用来正常显示中文标签\n",
    "plt.rcParams['axes.unicode_minus'] = False #用来显示负号\n",
    "plt.show()\n"
   ]
  },
  {
   "cell_type": "code",
   "execution_count": null,
   "id": "ae36ecdb",
   "metadata": {},
   "outputs": [],
   "source": []
  }
 ],
 "metadata": {
  "kernelspec": {
   "display_name": "Python 3",
   "language": "python",
   "name": "python3"
  },
  "language_info": {
   "codemirror_mode": {
    "name": "ipython",
    "version": 3
   },
   "file_extension": ".py",
   "mimetype": "text/x-python",
   "name": "python",
   "nbconvert_exporter": "python",
   "pygments_lexer": "ipython3",
   "version": "3.8.8"
  }
 },
 "nbformat": 4,
 "nbformat_minor": 5
}
